<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Notes for vil</title>
<style>code {color: #FF0000;}
</style>
</head>

<body>
<h1>Notes for vimt</h1>
<h2>Design decisions:</h2>
<h4>vimt should not provide trivial wrapper functions for vil.</h4>
<p>vimt should only provide a re-implementation of a vil image processing
function, if the vimt version modifies the transform. This includes operations
like crop, sub-sample. Functions like pixel-scaling operate only on the image
part of vimt and so do not need to be in vimt. Decision IMS and TFC.</p>
<h4><code>vimt_image</code> should be not provide access to image size, etc.</h4>
<p>So far we cannot find a case where the interrogation of an image's size
cannot be deferred until you also know its pixel type, etc. At this point you
can dereference the concrete image and ask it for the size.</p>
<h4>vimt should not link against a 3d library.</h4>
<p>This has various implications such as a need a separate and small vimt3d
library. However, many people who want 2d registered images do not need 3d. (The
opposite does not apply Users of 3d images will almost certainly want 2d ones as
well.) Decision TFC.</p>
<h4><code>vimt_transform</code> should provide full support up to projective
only.</h4>
<p>Linear transforms up to projective have nice properties such as being able to
invert them, etc. If you want support for more general transforms, then you can
derive another type from <code>vimt_image</code> that uses the old <code>vil1_warp.</code>
Decision IMS and TFC.</p>
<p>&nbsp;</p>
</body>
</html>
